<?php
/*
Plugin Name: Destacar en Home
Plugin URI: http://r-systems.es
Description: Agrega un boton en los posts para destacar los seleccionados en el home.
Version: 1.0
Author: Raul
Author URI: http://r-systems.es
*/


function hd_destacar_en_home_init_rs(){
    register_setting( 'hd_opciones_group', 'hd_categorias_habiles' );
} 




function hd_destacar_en_home_init_mb(){
	if(isset($_REQUEST['post'])){
		$post_cat=get_the_category($_REQUEST['post']);
		$hd_categorias_habiles= get_option('hd_categorias_habiles');
		if(sizeof($post_cat))
			if(in_array($post_cat[0]->term_id, $hd_categorias_habiles))
				add_meta_box("destacado_en_home", "Destacar en el home", "destacar_en_home_func", "post", "side", "high");
	}else{
		return false;
	}
} 

function hd_menu_page() {
    add_options_page( 'Destacados en home', 'Destacados en home', 'edit_theme_options', 'destacar-en-home', 'hd_print_options' );
}



function destacar_en_home_func(){
	global $post;
	$formatos=get_option("hd_formatos");
	$formato_destacado=get_post_meta($post->ID,"destacado_home_formato");
	$texto_boton_destacado=get_post_meta($post->ID,"destacado_home_texto_boton");
        $texto_boton_destacado_def=($texto_boton_destacado && $texto_boton_destacado!="")?$texto_boton_destacado[0]:"";
	$contenido_destacado=get_post_meta($post->ID,"destacado_home_contenido");
        $contenido_destacado_def=($contenido_destacado && $contenido_destacado!="")?$contenido_destacado[0]:"";
	$imagen_especial_destacado="";
	if(get_post_meta($post->ID,"destacado_home_imagen_especial")){
		$imagen_especial_destacado=get_post_meta($post->ID,"destacado_home_imagen_especial");
		$imagen_especial_destacado=$imagen_especial_destacado[0];
	}
        
	$horarios_destacado=get_post_meta($post->ID,"destacado_home_horarios");
        $horarios_destacado_def=($horarios_destacado && $horarios_destacado!="")?$horarios_destacado[0]:"";
        
	$localizacion_destacado=get_post_meta($post->ID,"destacado_home_localizacion");
        $localizacion_destacado_def=($localizacion_destacado && $localizacion_destacado!="")?$localizacion_destacado[0]:"";
        
	$participantes_destacado=get_post_meta($post->ID,"destacado_home_partcipantes");
        $participantes_destacado_def=($participantes_destacado && $participantes_destacado!="")?$participantes_destacado[0]:"";
        
        
	$cheked=(get_post_meta($post->ID,"destacado_home"))?"checked":"";
	?>
    <input type='checkbox' name='en_home' id='en_home' <?php echo $cheked ;?> />  Activar para destacar en el home<br /><br />
    Elige un formato para el destacado:<br />
    <select name="hd_formato" id="hd_formato">
    	<option value="null">elige ...</option>
        <?php
		foreach($formatos as $nombre=>$css_class){
			$selected=($nombre==$formato_destacado[0])?'selected="selected"':'';
		?>
    	<option value="<?php echo $nombre;?>" <?php echo $selected;?>><?php echo $nombre;?></option>
        <?php
		}
		?>
    </select>
    <br /><br />
    Escribe el texto del boton:<br />
    <input type="text" name="hd_texto_boton" id="hd_texto_boton" value="<?php echo $texto_boton_destacado_def;?>" />
    <br /><br />
    Escribe el contenido del destacado:<br />
    <textarea name="hd_contenido" id="hd_contenido" cols="30" rows="6"><?php echo $contenido_destacado_def;?></textarea>
    <br /><br />
    Elige la imagen destacada especial del home:<br />
    <input class="upload" type="text" name="hd_imagen_especial" id="hd_imagen_especial" size="12" value="<?php echo $imagen_especial_destacado;?>" />
    <input class="upload-button" type="button" name="wsl-image-add" value="Subir imagen" />
    <!--
    <a title="Asignar imagen destacada" href="http://r-systems.es/wp_test/wp-admin/media-upload.php?post_id=301&amp;type=image&amp;TB_iframe=1&amp;width=640&amp;height=401" class="thickbox">Asignar imagen destacada</a>
    -->
    <br /><br />
    Horarios:<br />
    <input type="text" name="hd_horarios" id="hd_horarios" value="<?php echo $horarios_destacado_def;?>" />
    <br /><br />
    Localizacion:<br />
    <input type="text" name="hd_localizacion" id="hd_localizacion" value="<?php echo $localizacion_destacado_def;?>" />
    <br /><br />
    Partcipantes:<br />
    <input type="text" name="hd_partcipantes" id="hd_partcipantes" value="<?php echo $participantes_destacado_def;?>" />
    <?php
}




function hd_destacar_en_home_save(){
    global $post;
    if(isset($post->ID) && $post->ID!=""){
        if(isset($_POST['en_home']) && $_POST['en_home']!=""){
                update_post_meta($post->ID, 'destacado_home', $_POST['en_home']);
        }else{
            delete_post_meta($post->ID, 'destacado_home');
        }
        if(isset($_POST['hd_formato']) && $_POST['hd_formato']!=""){
                update_post_meta($post->ID,"destacado_home_formato",$_POST['hd_formato']);
        }else{
            delete_post_meta($post->ID, "destacado_home_formato");   
        }
        if(isset($_POST['hd_texto_boton']) && $_POST['hd_texto_boton']!=""){
                update_post_meta($post->ID,"destacado_home_texto_boton",$_POST['hd_texto_boton']);
        }else{
            delete_post_meta($post->ID, "destacado_home_texto_boton");   
        }
        if(isset($_POST['hd_imagen_especial']) && $_POST['hd_imagen_especial']!=""){
                update_post_meta($post->ID,"destacado_home_imagen_especial",$_POST['hd_imagen_especial']);
        }else{
            delete_post_meta($post->ID, "destacado_home_imagen_especial");   
        }
        if(isset($_POST['hd_contenido']) && $_POST['hd_contenido']!=""){
                update_post_meta($post->ID,"destacado_home_contenido",$_POST['hd_contenido']);
        }else{
            delete_post_meta($post->ID, "destacado_home_contenido");   
        }
        if(isset($_POST['hd_horarios']) && $_POST['hd_horarios']!=""){
                update_post_meta($post->ID,"destacado_home_horarios",$_POST['hd_horarios']);
        }else{
            delete_post_meta($post->ID, "destacado_home_horarios");   
        }
        if(isset($_POST['hd_localizacion']) && $_POST['hd_localizacion']!=""){
                update_post_meta($post->ID,"destacado_home_localizacion",$_POST['hd_localizacion']);
        }else{
            delete_post_meta($post->ID, "destacado_home_localizacion");   
        }
        if(isset($_POST['hd_partcipantes']) && $_POST['hd_partcipantes']!=""){
                update_post_meta($post->ID,"destacado_home_partcipantes",$_POST['hd_partcipantes']);
        }else{
            delete_post_meta($post->ID, "destacado_home_partcipantes");
        }
    }
}
 



function hp_backend_update(){
	$arr=array();
	if(isset($_REQUEST['action']) && $_REQUEST['action']=="update"){
		foreach($_REQUEST as $key=>$val){
			if(strpos($key,"ategory_")){
				$arr[]=$val;
			}
		}
		update_option("hd_categorias_habiles",$arr);
	}
}




function hd_print_options(){
//	update_option("hd_formatos",array("morado"=>".morado","verde"=>".verde"));
	hp_backend_update();
	$categorias=get_categories();
	$hd_categorias_habiles= get_option('hd_categorias_habiles');
	?>
    <h3>Pagina de configuracion de opciones para el plugin "Destacado Home":</h3>
    <h5>Elige las categorias en las que se va a mostrar la opcion de destacar en el home:</h5>
    <form action="" method="post">
		<?php
        foreach($categorias as $key=>$categoria){
			$cheked = in_array($categoria->term_id, $hd_categorias_habiles) ? "checked='checked'" : "";
            echo '<input type="checkbox" name="category_'.$categoria->term_id.'" id="category_'.$categoria->term_id.'" value="'.$categoria->term_id.'" '.$cheked.' />&nbsp;'.$categoria->category_nicename.'<br />';
        }
		settings_fields( 'hd_categorias_habiles' );
        ?>
        <br /><br />
        <input type="submit" class="button-primary"  value="<?php _e('Save Changes') ?>" />
    </form>
    <?php
}




function hd_get_home_destacados(){
	global $wpdb;
	$destacados = $wpdb->get_results("SELECT * FROM wp_postmeta WHERE meta_key = 'destacado_home' LIMIT 0,3");
	if(empty($destacados)){
		return false;
	}else{
		return $destacados;
	}
}




function hd_get_post_data($id){
	$metas=get_post_meta($id);
	$post_data=get_post($id,ARRAY_A);
	$metas_needed=array("ID",
                            "post_title",
                            "the_sub_subtitle",
                            "post_excerpt",
                            "destacado_home_formato",
                            "destacado_home_texto_boton",
                            "destacado_home_imagen_especial",
                            "destacado_home_contenido",
                            "destacado_home_horarios",
                            "destacado_home_partcipantes",
                            "destacado_home_localizacion");
        $metas_merged=array_merge($post_data,$metas);
	foreach($metas_merged as $key=>$meta){
		if(in_array($key,$metas_needed)){
                    $def_meta=(is_array($meta))?$meta[0]:$meta;
                    $data_def[$key]=$def_meta;
		}
	}
	return $data_def;
}



function hd_get_css_classes($formato,$key){
	$css_classes="one_third destacados-home";
	switch($key){
		case 0;
			$css_classes.=" first ";
			break;
		case 2;
			$css_classes.=" last ";
			break;
	}
	$css_classes.=" ".$formato;
	return $css_classes;
}



function hd_content_print($destacado, $key){
        $id=(is_object($destacado))?$destacado->post_id:$destacado;
	$metas=  hd_get_post_data($id);
        if(isset($metas['destacado_home_imagen_especial'])){
            $arr_img=wp_get_attachment_image_src($metas['destacado_home_imagen_especial'],'full');
        }
	?>
    
    <article class="<?php echo hd_get_css_classes($metas['destacado_home_formato'],$key);?>">
    	<header>
        	<h1><?php echo $metas['post_title'];?></h1>
            <h2><?php echo $metas['the_sub_subtitle'];?></h2>
        </header>
        <section>
        	<div id="header-contenido">
            	<?php echo $metas['post_excerpt'];?>
            </div>
        	<div id="img-contenido">
                <?php if (isset($arr_img)): ?>
            	<img src="<?php echo $arr_img[0];?>" width="<?php echo $arr_img[1];?>" height="<?php echo $arr_img[2];?>" />
                <?php endif; ?>
            </div>
        	<div id="footer-contenido">
	           	<?php
                        if(isset($metas['destacado_home_contenido']))
                            echo $metas['destacado_home_contenido'];
                        ?>
            </div>
        </section>
        <footer>
        	<a href="<?php echo get_permalink($metas['ID']);?>">
	        	<?php echo $metas['destacado_home_texto_boton'];?>
			</a>
        </footer>
    </article>
    <?php
}




function hd_options_enqueue_scripts(){
	wp_register_script( 'hd-upload', plugins_url('/js/hd-upload.js',__FILE__));	
	wp_enqueue_script( 'hd-upload');	
}


function hd_plugin_styles(){
	wp_register_style( 'hd-css', plugins_url( '/css/destacados.css',__FILE__ ) );
	wp_enqueue_style( 'hd-css' );
}


//add_action('admin_enqueue_scripts', 'hd_options_enqueue_scripts');
add_action( 'wp_enqueue_scripts', 'hd_plugin_styles' );

add_action('admin_init', 'hd_destacar_en_home_init_mb');
add_action( 'save_post', 'hd_destacar_en_home_save' );

add_action('admin_init', 'hd_destacar_en_home_init_rs');

add_action( 'admin_menu', 'hd_menu_page' );


/*	
echo "<pre>";
print_r($_REQUEST);
echo "</pre>";
*/
?>